EuLisp is a single-valued lisp-like language with the following features:
An integrated Object System (Telos). This is a fully reflective system, and is much more tightly integrated into the system than CLOS
A module system, allowing names and implementation to be hidden across files.
Parallel programming primitives.
Feel attempts to conform to the EuLisp definition, except where, for historical reasons it has not caught up with the definition, or the definition contains bogus, unimplementable, or just plain silly statements.
In any module, (!> module-name) will enter a module, loading it if necessary. A good first choice is module-name=user. It first looks for the file in the current directory, then down the environment variable FEEL_LOAD_PATH. All bindings in that module then become available. To import one module into another interactively, use (import <mod-name>)
(!>> module-name) is the same as !>, except that it always loads the module from disk.
(loaded-modules) gives the list of currently loaded modules (including the internal ones, which are in turn re-exported by standard0).
(load-module module-name) will load the module and print the resulting module. This is the easiest way of finding out what a module exports.
(load-path) gives the current value of the load path (see above). (set-load-path x) sets the load path.
The !> and !>> forms can be used anywhere, while the others can only be invoked from the root module. !root will always return to the root module.
Error handler:
!exit exits the error handler
!b gives a backtrace
!q gives a quick backtrace